// var i
// 因为for循环这个var会导致变量提升
// 因为for循环是同步代码，setTimeout是异步代码，同步执行之后才会执行异步
for (var i = 0; i < 3; i++) {
    setTimeout(() => console.log(i), 1);
  }
  
// let创建块级作用域 ， for循环每执行一次会重新生成一个i，创建3个块级作用域保留住了
  for (let i = 0; i < 3; i++) {
    setTimeout(() => console.log(i), 1);
  }